package com.t16;

import net.mindview.util.CollectionData;
import net.mindview.util.Generator;

/**
 * Created by xuyiwei on 2018/8/11.
 */
public class Generated {
    //传递进去一个实例数组去 并且填充这个数组
    public static <T> T[] array(T[] a, Generator<T> gen) {
        return new CollectionData<T>(gen, a.length).toArray(a);
    }
    //传递进去一个数组引用类型的class  然后还有数组的size  根据这个区创建数组
    @SuppressWarnings("unchecked")
    public static <T> T[] array(Class<T> type,
                                Generator<T> gen, int size) {
        T[] a =
                (T[])java.lang.reflect.Array.newInstance(type, size);
        return new CollectionData<T>(gen, size).toArray(a);
    }
}
